#define _CRT_SECURE_NO_WARNINGS 1

class Solution {
public:
    int hIndex(vector<int>& arr)
    {
        int h = 0;
        int size = arr.size();
        sort(arr.begin(), arr.end(), greater<int>());
        for (auto e : arr)
            cout << e << " ";
        for (int i = 0; i < size; i++)
        {
            if (arr[i] > h)
                h++;
        }
        return h;
    }
};

//class Solution {
//public:
//    ListNode* detectCycle(ListNode* head)
//    {
//        ListNode* fast = head;
//        ListNode* slow = head;
//        while (fast && fast->next)
//        {
//            slow = slow->next;
//            fast = fast->next->next;
//            if (slow == fast)
//            {
//                ListNode* cur = slow;
//                slow = head;
//                while (slow != cur)
//                {
//                    slow = slow->next;
//                    cur = cur->next;
//                }
//                return cur;
//            }
//        }
//        return nullptr;
//    }
//};